package ziface

// IServer 定义一个服务器接口
type IServer interface {
	Start()  // 启动服务器
	Stop()   // 停止服务器
	Server() // 运行服务器

	// AddRouter 给当前的服务注册一个路由方法，供客户端的连接处理使用
	AddRouter(msgId uint32, router IRouter)

	// GetConnMgr 获取当前 server 的连接管理器
	GetConnMgr() IConnManager

	// SetOnConnStart 注册 Hook 函数
	SetOnConnStart(hookFunc func(conn IConnection))

	// SetOnConnStop 注册 Hook 函数
	SetOnConnStop(hookFunc func(conn IConnection))

	// CallOnConnStart  调用  Hook 函数
	CallOnConnStart(conn IConnection)

	// CallOnConnStop  调用  Hook 函数
	CallOnConnStop(conn IConnection)
}
